package edu.ccut.saturn.component;

import java.util.List;

public interface IDebugComponentInfo {

	public abstract IParameterContext getBeforeComponentParameterContext();

	public abstract void setBeforeComponentParameterContext(
			IParameterContext afterComponentParameterContext);

	public abstract IParameterContext getAfterComponentParameterContext();

	public abstract void setAfterComponentParameterContext(
			IParameterContext afterComponentParameterContext);

	public abstract IComponentInfo getComponentInfo();

	public abstract String getName();

	public abstract INodeInfo getNodeInfo();

	public abstract List<IDebugComponentInfo> getChildren();

	public abstract void addChild(IDebugComponentInfo child);

	public abstract long getStartTime();

	public abstract String getStartTimeStr();

	public abstract void setStartTime(long startTime);

	public abstract void setEndTime(long endTime);

	public abstract long getEndTime();

	public abstract String getEndTimeStr();

	public abstract boolean isEnd();

	public abstract List<IDebugLogMessage> getLogMessages();

	public abstract void addLogMessage(IDebugLogMessage debugLogMessage);

//	public abstract boolean hasException();

	public abstract boolean hasLevelMessage(String level);
}
